/**
 * 
 */
package eu.log;
import java.util.Date;

import eu.data.util.RollFetchDataSource;

/**
 * 日志查询接口
 * @author 吴振振
 * @version 1.0 alpha
 */
public interface QueryInterface {

	/**
	 * 获取一个时间段里面的日志,包含起至时间
	 * @param start 起始时间
	 * @param end 结束时间
	 * @return 符合条件的日志集合
	 */
	public RollFetchDataSource<Log> getByPeriod(Date start, Date end);

	/**
	 * 获取一个时间段里面的日志,包含起至时间
	 * @param start 起始时间
	 * @param end 结束时间
	 * @return 符合条件的日志集合
	 */
	public RollFetchDataSource<Log> getByPeriod(long start, long end);

	/**
	 * 根据客户身份标识获取日志
	 * @param clientIdentity
	 * @return 符合条件的日志集合
	 */
	public RollFetchDataSource<Log> getByClient(String clientIdentity);

	/**
	 * 根据事件等级获取日志
	 * @param rank
	 * @return 符合条件的日志集合
	 */
	public RollFetchDataSource<Log> getByRank(Rank rank);

	/**
	 * 获取全部日志
	 */
	public RollFetchDataSource<Log> getAll();

}
